Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Small various fixes #112

Merged
merged 11 commits into from
Dec 6, 2024
Merged

Small various fixes #112

merged 11 commits into from
Dec 6, 2024

Conversation

louismerlin
Copy link
Collaborator

@louismerlin louismerlin commented Dec 4, 2024

Fixes CI, #109, #110, #111.

Reverts parts of #107.

@louismerlin
Copy link
Collaborator Author

The biggest change here is that we're going from .GCDA files to .PROFRAW during coverage generation (see #110).

@R9295 can you please test this out on a few projects and tell me if everything works as expected?

@louismerlin louismerlin requested a review from R9295 December 4, 2024 17:09
@louismerlin
Copy link
Collaborator Author

@vanhauser-thc this PR reverts the dual minimization PR and fixes all of the duplicate seed issues:

  1. After any minimization, a name-hashing pass is done over all of the minimized corpus.
  2. During fuzzing, honggfuzz and afl corpora are copied-over to the shared corpus every 10 seconds, and the file names are the hash of the file itself.

Could you please take a quick look?

@vanhauser-thc
Copy link
Collaborator

The biggest change here is that we're going from .GCDA files to .PROFRAW during coverage generation (see #110).

@R9295 can you please test this out on a few projects and tell me if everything works as expected?

I evaluated this too. the coverage I obtained was quite different between the two. have you looked into that?

@vanhauser-thc
Copy link
Collaborator

done with my first review :)

@louismerlin
Copy link
Collaborator Author

The biggest change here is that we're going from .GCDA files to .PROFRAW during coverage generation (see #110).
@R9295 can you please test this out on a few projects and tell me if everything works as expected?

I evaluated this too. the coverage I obtained was quite different between the two. have you looked into that?

coverages.zip

Here are the differences I could see at first glance:

  1. The new profraw method sees more dependencies (11 vs 8 in this url example), I have not figured out why
  2. profraw sees some super interesting stuff that gcda does not (see url-2.5.2/src/parser.rs)
  3. it seems the two count coverage for a multi-line expression differently (see tinyvec-1.8.0/src/arrayvec.rs)

Doesn't look like a downgrade, and kind of looks like an upgrade in some places.

@vanhauser-thc
Copy link
Collaborator

the changes even use less lines of code :) good job!

@vanhauser-thc vanhauser-thc merged commit f84025e into main Dec 6, 2024
8 checks passed
@louismerlin louismerlin deleted the various-fixes branch December 9, 2024 07:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants